<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/WPForms.Common.Model" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/WPForms.Common.Model" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:51583/FormStore.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="FormInstanceDescription">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:FormDescription">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="FormInstanceDescription" nillable="true" type="tns:FormInstanceDescription" />
  <xs:complexType name="FormDescription">
    <xs:sequence />
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="FormDescription" nillable="true" type="tns:FormDescription" />
  <xs:complexType name="FormInstance">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="MainSection" nillable="true" type="tns:FormSection" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ServerUrl" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="FormInstance" nillable="true" type="tns:FormInstance" />
  <xs:complexType name="FormSection">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:FormElement">
        <xs:sequence>
          <xs:element minOccurs="0" name="Attachments" nillable="true" type="tns:ArrayOfAttachment" />
          <xs:element minOccurs="0" name="Children" nillable="true" type="tns:ArrayOfFormElement" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="FormSection" nillable="true" type="tns:FormSection" />
  <xs:complexType name="FormElement">
    <xs:sequence>
      <xs:element minOccurs="0" name="IsEnabled" type="xs:boolean" />
      <xs:element minOccurs="0" name="Key" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="FormElement" nillable="true" type="tns:FormElement" />
  <xs:complexType name="GeoLocation">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:FormField">
        <xs:sequence>
          <xs:element minOccurs="0" name="Altitute" type="xs:double" />
          <xs:element minOccurs="0" name="FriendlyLocation" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="IsLocationOverriden" type="xs:boolean" />
          <xs:element minOccurs="0" name="Latitude" type="xs:double" />
          <xs:element minOccurs="0" name="Longitude" type="xs:double" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GeoLocation" nillable="true" type="tns:GeoLocation" />
  <xs:complexType name="FormField">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:FormElement">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="FormField" nillable="true" type="tns:FormField" />
  <xs:complexType name="DateTimeField">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:FormField">
        <xs:sequence>
          <xs:element minOccurs="0" name="Value" nillable="true" type="xs:dateTime" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="DateTimeField" nillable="true" type="tns:DateTimeField" />
  <xs:complexType name="TextField">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:FormField">
        <xs:sequence>
          <xs:element minOccurs="0" name="Value" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="TextField" nillable="true" type="tns:TextField" />
  <xs:complexType name="NumberField">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:FormField">
        <xs:sequence>
          <xs:element minOccurs="0" name="Value" nillable="true" type="xs:decimal" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="NumberField" nillable="true" type="tns:NumberField" />
  <xs:complexType name="LabelField">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:FormField">
        <xs:sequence>
          <xs:element minOccurs="0" name="Text" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="LabelField" nillable="true" type="tns:LabelField" />
  <xs:complexType name="PictureAttachment">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:FormField">
        <xs:sequence>
          <xs:element minOccurs="0" name="AttachmentId" nillable="true" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="PictureAttachment" nillable="true" type="tns:PictureAttachment" />
  <xs:complexType name="ArrayOfAttachment">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Attachment" nillable="true" type="tns:Attachment" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAttachment" nillable="true" type="tns:ArrayOfAttachment" />
  <xs:complexType name="Attachment">
    <xs:sequence>
      <xs:element minOccurs="0" name="Data" nillable="true" type="xs:base64Binary" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="Attachment" nillable="true" type="tns:Attachment" />
  <xs:complexType name="ArrayOfFormElement">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="FormElement" nillable="true" type="tns:FormElement" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfFormElement" nillable="true" type="tns:ArrayOfFormElement" />
  <xs:complexType name="ArrayOfFormInstanceDescription">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="FormInstanceDescription" nillable="true" type="tns:FormInstanceDescription" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfFormInstanceDescription" nillable="true" type="tns:ArrayOfFormInstanceDescription" />
</xs:schema>